The present disclosure relates generally to computing systems, and more particularly to batch query processing.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is a computing system. Computing systems may vary in complexity from a single processor operating in relative isolation to large networks of interconnected processors. The interconnected processors may be in close proximity to each other or separated by great distances both physically and as distance is measured in computer networking terms. The interconnected processors may also work together in a closely cooperative fashion or in a loose weakly coupled fashion. Because technology and processing needs and requirements may vary between different applications, the structure and arrangement of the computing system may vary significantly between two different computing systems. The flexibility in computing systems allows them to be configured for both specific users, specific uses, or for more general purposes. Computing system may also include a variety of hardware and software components that may be configured to process, store, and communicate information based on the needs of the users and the applications.
Additionally, some examples of computing systems include non-transient, tangible machine-readable media that include executable code that when run by one or more processors, may cause the one or more processors to perform the steps of methods described herein. Some common forms of machine readable media include, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any other medium from which a processor or computer is adapted to read.
Computers, processors, and software systems often share information and provide computing services for each other. In order to do so, a server or some other computing system may provide an interface through which service requests are made by the other computing devices or clients. In these service-oriented architectures (SOAs), the clients generally make a service request by sending a request message to the server hosting a requested service and/or application using, for example, a networking protocol. The server receives the message, activates the requested service or application, and returns a response message with the result. For example, a very basic form of services is demonstrated by a request for a web page. A client, such as a web browser, sends a Hypertext Transport Protocol (HTTP) request to a web server which receives the HTTP request and generates a response containing the requested web page, that is then returned to the web browser. As many services and/or applications execute, they access one or more data sources that store data that is relevant to the requested services using queries. For example, these data sources may include relational databases, nosql databases, files, web services, and/or the like. As the data sources receive the queries from the services and/or applications, they are typically processed in a first-come first-served fashion. In many situations the order in which the queries are processed by the data sources may not be the most efficient as the services and/or applications are not generally expected to cooperate among themselves and/or know a preferred order for processing the queries from the perspective of the data sources. When the services and/or applications are able to allow their respective queries to be processed in a batch mode, rather than a first-come first-served fashion, it may be possible to improve efficiency in the handling of queries by appropriately changing the order in which they are processed.
Accordingly, it would be desirable to provide systems and methods to improve batch query processing efficiency by changing the order in which queries are processed.